<?php
require_once(SERVER_ROOT . '/authenticate/' . 'Authenticator.php');
require_once(SERVER_ROOT . '/daos/' . 'UsuarioDAO.php');
require_once(SERVER_ROOT . '/daos/' . 'EscritorioDAO.php');
require_once(SERVER_ROOT . '/daos/' . 'ProcessoDAO.php');
require_once(SERVER_ROOT . '/daos/' . 'ClienteDAO.php');

class NotificacaoController{
	private $usuarioDAO;
	private $escritorioDAO;
	private $processoDAO;
	private $clienteDAO;
	private $usuario;


	public function __construct() {
		$this->usuarioDAO = new UsuarioDAO();
		$this->escritorioDAO = new EscritorioDAO();
		$this->processoDAO = new ProcessoDAO();
		$this->clienteDAO = new ClienteDAO();
		$this->usuario = Authenticator::getUser();
	}

	//Notificacoes telas de admin
	public function totalGerentes(){
		echo $this->usuarioDAO->countByTypeAndInactivate('gerente');
	}

	public function totalMembros(){
		$totalUsuarios =  $this->usuarioDAO->count();
		//Admin não conta
		$membros = $totalUsuarios - 1;
		echo $membros;
	}

	public function totalEscritorios(){
		echo $this->escritorioDAO->count();
	}

	public function totalProcessos(){
		echo $this->processoDAO->count();
	}
	//Noticacoes demais usuarios
	public function totalAdvogadosEscritorio(){
		echo $this->usuarioDAO->countAllByTypeAndEscritorio('advogado', $this->usuario->id_escritorio);
	}

	public function totalSecretariasEscritorio(){
		echo $this->usuarioDAO->countAllByTypeAndEscritorio('secretaria', $this->usuario->id_escritorio);
	}

	public function totalClientesEscritorio(){
		echo $this->clienteDAO->countAllByEscritorio($this->usuario->id_escritorio);
	}

	public function totalProcessosEscritorio(){
		echo $this->processoDAO->countAllByEscritorio($this->usuario->id_escritorio);
	}

	//Codigos
	public function getCodigoGerente(){
		$escritorio = $this->escritorioDAO->findAllByUsuario($this->usuario->id_usuario);
		echo $escritorio['cod_gerente'];

	}
	public function getCodigoEscritorio(){
		$escritorio = $this->escritorioDAO->findAllByUsuario($this->usuario->id_usuario);
		echo $escritorio['cod_escritorio'];
	}
}